package top.korori.service;

import com.baomidou.mybatisplus.extension.service.IService;
import top.korori.common.model.PageData;
import top.korori.entity.SvWork;
import top.korori.entity.req.SvHomeWorkGetReq;
import top.korori.entity.req.SvMyWorkGetReq;
import top.korori.entity.req.SvWorkAddReq;
import top.korori.entity.req.SvWorkGetReq;
import top.korori.entity.res.SvUserWorkRes;
import top.korori.entity.res.SvWorkRes;

/**
 * 
 * 作品 服务类
 * 
 *
 * @author korori
 * @since 2023-10-16
 */
public interface ISvWorkService extends IService<SvWork> {

    /**
     *
     * @param svWorkAddReq 作品参数
     * @return 作品信息
     */
    SvUserWorkRes push(SvWorkAddReq svWorkAddReq);

    /**
     * 条件分页查询作品列表
     * @param svHomeWorkGetReq 查询参数
     * @return 作品信息
     */
    PageData<SvUserWorkRes> getHoneWorks(SvHomeWorkGetReq svHomeWorkGetReq);

    /**
     * 删除当前用户自己的作品
     * @param workId 作品id
     */
    void delMyWork(Long workId);

    /**
     * 获取用我的作品列表
     * @param svWorkGetReq 查询参数
     * @return 分页作品列表
     */
    PageData<SvWorkRes> getUserHomeList(SvWorkGetReq svWorkGetReq);

    /**
     * 获取用我的作品列表
     * @param svWorkGetReq 查询参数
     * @return 分页作品列表
     */
    PageData<SvWorkRes> getUserHomeList(SvMyWorkGetReq svWorkGetReq);

}
